<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QxOrm: qx::memory::static_mem_pool&lt; _Sz, _Gid &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="logo_qxorm.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">QxOrm
   &#160;<span id="projectnumber">1.4.3</span>
   </div>
   <div id="projectbrief">C++ Object Relational Mapping library</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classqx_1_1memory_1_1static__mem__pool.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">qx::memory::static_mem_pool&lt; _Sz, _Gid &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="qx::memory::static_mem_pool" --><!-- doxytag: inherits="qx::memory::mem_pool_base" -->
<p><code>#include &lt;<a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for qx::memory::static_mem_pool&lt; _Sz, _Gid &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classqx_1_1memory_1_1static__mem__pool.png" usemap="#qx::memory::static_mem_pool&lt; _Sz, _Gid &gt;_map" alt=""/>
  <map id="qx::memory::static_mem_pool&lt; _Sz, _Gid &gt;_map" name="qx::memory::static_mem_pool&lt; _Sz, _Gid &gt;_map">
<area href="classqx_1_1memory_1_1mem__pool__base.html" alt="qx::memory::mem_pool_base" shape="rect" coords="0,0,252,24"/>
</map>
 </div></div>

<p><a href="classqx_1_1memory_1_1static__mem__pool-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pri-types"></a>
Private Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classqx_1_1memory_1_1class__level__lock.html">class_level_lock</a><br class="typebreak"/>
&lt; <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&lt; _Sz, _Gid &gt;<br class="typebreak"/>
,(_Gid&lt; 0)&gt;::lock lock;public:static <br class="typebreak"/>
<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> &amp;instance(){lock <br class="typebreak"/>
__guard;if(!<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a>){<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a>=_S_create_instance();}return <br class="typebreak"/>
*<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a>;}static <br class="typebreak"/>
<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> <br class="typebreak"/>
&amp;instance_known(){assert(_S_instance_p!=NULL);return <br class="typebreak"/>
*<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a>;}void *allocate(){{lock <br class="typebreak"/>
__guard;if(<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a>){void <br class="typebreak"/>
*<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a5cdba18f05fb1b5205709d30c3253682">__result</a>=<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a>;<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a>=<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a>-&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a076f9699157fc43431d0642ae9ac8c55">_M_next</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">return&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a550359058cf63886e25e4886296a38e9">_S_alloc_sys</a> (_S_align(_Sz))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3916185f071050e28ec4ce7824040a9c">deallocate</a> (void *__ptr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#ae7ecdb308a7c3b2a88279700a7d90550">recycle</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#acda5de0d01e63e464b8d022f1a8a27bd">static_mem_pool</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#af754ca8c8e488a6635db2d77f3fde610">~static_mem_pool</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a5375a34965f98a0f4e9853d97ef4a087">static_mem_pool</a> (const <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a0a989f4b3dcfd02eee4a53a96e6934b9">operator=</a> (const <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> &amp;)</td></tr>
<tr><td colspan="2"><h2><a name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#ad07ddbd078045c9f3b2c82287b38bbac">_S_align</a> (size_t __size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#adcdf93388ff2f7d17d6d1cbe716c173c">_S_alloc_sys</a> (size_t __size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a50011aaddcac2c9d50ca99df9e2cb974">_S_create_instance</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">return&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a5cdba18f05fb1b5205709d30c3253682">__result</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a95b076610c2f0732f011c0f4cf88761b">_S_destroyed</a> = false</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a> = _S_create_instance()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structqx_1_1memory_1_1mem__pool__base_1_1___block__list.html">mem_pool_base::_Block_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a> = NULL</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;size_t _Sz, int _Gid = -1&gt;<br/>
class qx::memory::static_mem_pool&lt; _Sz, _Gid &gt;</h3>

<p>Singleton class template to manage the allocation/deallocation of memory blocks of one specific size.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">_Sz</td><td>size of elements in the <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> </td></tr>
    <tr><td class="paramname">_Gid</td><td>group id of a <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>: if it is negative, simultaneous accesses to this <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> will be protected from each other; otherwise no protection is given </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00124">124</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a076f9699157fc43431d0642ae9ac8c55"></a><!-- doxytag: member="qx::memory::static_mem_pool::_M_next" ref="a076f9699157fc43431d0642ae9ac8c55" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classqx_1_1memory_1_1class__level__lock.html">class_level_lock</a>&lt;<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&lt;_Sz, _Gid&gt;, (_Gid &lt; 0)&gt;::lock lock;public: static <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&amp; instance() { lock __guard; if (!<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a>) { <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a> = _S_create_instance(); } return *<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a>; } static <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&amp; instance_known() { assert(<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a> != NULL); return *<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a>; } void* allocate() { { lock __guard; if (<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a>) { void* <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a5cdba18f05fb1b5205709d30c3253682">__result</a> = <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a>; <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a> = <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a>-&gt; <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a076f9699157fc43431d0642ae9ac8c55">_M_next</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00173">173</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="acda5de0d01e63e464b8d022f1a8a27bd"></a><!-- doxytag: member="qx::memory::static_mem_pool::static_mem_pool" ref="acda5de0d01e63e464b8d022f1a8a27bd" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00195">195</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="af754ca8c8e488a6635db2d77f3fde610"></a><!-- doxytag: member="qx::memory::static_mem_pool::~static_mem_pool" ref="af754ca8c8e488a6635db2d77f3fde610" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::~<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00200">200</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5375a34965f98a0f4e9853d97ef4a087"></a><!-- doxytag: member="qx::memory::static_mem_pool::static_mem_pool" ref="a5375a34965f98a0f4e9853d97ef4a087" args="(const static_mem_pool &amp;)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&lt; _Sz, _Gid &gt; &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad07ddbd078045c9f3b2c82287b38bbac"></a><!-- doxytag: member="qx::memory::static_mem_pool::_S_align" ref="ad07ddbd078045c9f3b2c82287b38bbac" args="(size_t __size)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">static size_t <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::_S_align </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>__size</em></td><td>)</td>
          <td><code> [inline, static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00221">221</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="a550359058cf63886e25e4886296a38e9"></a><!-- doxytag: member="qx::memory::static_mem_pool::_S_alloc_sys" ref="a550359058cf63886e25e4886296a38e9" args="(_S_align(_Sz))" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">return <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::_S_alloc_sys </td>
          <td>(</td>
          <td class="paramtype">_S_align(_Sz)&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="adcdf93388ff2f7d17d6d1cbe716c173c"></a><!-- doxytag: member="qx::memory::static_mem_pool::_S_alloc_sys" ref="adcdf93388ff2f7d17d6d1cbe716c173c" args="(size_t __size)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void * <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::_S_alloc_sys </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>__size</em></td><td>)</td>
          <td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00276">276</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="a50011aaddcac2c9d50ca99df9e2cb974"></a><!-- doxytag: member="qx::memory::static_mem_pool::_S_create_instance" ref="a50011aaddcac2c9d50ca99df9e2cb974" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&lt; _Sz, _Gid &gt; * <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::_S_create_instance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00289">289</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3916185f071050e28ec4ce7824040a9c"></a><!-- doxytag: member="qx::memory::static_mem_pool::deallocate" ref="a3916185f071050e28ec4ce7824040a9c" args="(void *__ptr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::deallocate </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>__ptr</em></td><td>)</td>
          <td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Deallocates memory by putting the memory block into the pool.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">__ptr</td><td>pointer to memory to be deallocated </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00184">184</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0a989f4b3dcfd02eee4a53a96e6934b9"></a><!-- doxytag: member="qx::memory::static_mem_pool::operator=" ref="a0a989f4b3dcfd02eee4a53a96e6934b9" args="(const static_mem_pool &amp;)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&amp; <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&lt; _Sz, _Gid &gt; &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae7ecdb308a7c3b2a88279700a7d90550"></a><!-- doxytag: member="qx::memory::static_mem_pool::recycle" ref="ae7ecdb308a7c3b2a88279700a7d90550" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::recycle </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Recycles half of the free memory blocks in the memory pool to the system. It is called when a memory request to the system (in other instances of the static memory pool) fails. </p>

<p>Implements <a class="el" href="classqx_1_1memory_1_1mem__pool__base.html#addb6f9aa88487af65f5f84c70c63efd9">qx::memory::mem_pool_base</a>.</p>

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00250">250</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a5cdba18f05fb1b5205709d30c3253682"></a><!-- doxytag: member="qx::memory::static_mem_pool::__result" ref="a5cdba18f05fb1b5205709d30c3253682" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">return <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a5cdba18f05fb1b5205709d30c3253682">__result</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00174">174</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="a95b076610c2f0732f011c0f4cf88761b"></a><!-- doxytag: member="qx::memory::static_mem_pool::_S_destroyed" ref="a95b076610c2f0732f011c0f4cf88761b" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a95b076610c2f0732f011c0f4cf88761b">_S_destroyed</a> = false<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00228">228</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3e93e9481fb29c0d04b97cfd206418aa"></a><!-- doxytag: member="qx::memory::static_mem_pool::_S_instance_p" ref="a3e93e9481fb29c0d04b97cfd206418aa" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>&lt; _Sz, _Gid &gt; * <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a3e93e9481fb29c0d04b97cfd206418aa">_S_instance_p</a> = _S_create_instance()<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00229">229</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<a class="anchor" id="a017ecd5dc901db8c54f49db561de31f3"></a><!-- doxytag: member="qx::memory::static_mem_pool::_S_memory_block_p" ref="a017ecd5dc901db8c54f49db561de31f3" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t _Sz, int _Gid = -1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structqx_1_1memory_1_1mem__pool__base_1_1___block__list.html">mem_pool_base::_Block_list</a> * <a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">qx::memory::static_mem_pool</a>&lt; _Sz, _Gid &gt;::<a class="el" href="classqx_1_1memory_1_1static__mem__pool.html#a017ecd5dc901db8c54f49db561de31f3">_S_memory_block_p</a> = NULL<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="static__mem__pool_8h_source.html#l00230">230</a> of file <a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>C:/Dvlp/_Perso/QxOrm/include/QxMemLeak/<a class="el" href="static__mem__pool_8h_source.html">static_mem_pool.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceqx.html">qx</a>      </li>
      <li class="navelem"><a class="el" href="namespaceqx_1_1memory.html">memory</a>      </li>
      <li class="navelem"><a class="el" href="classqx_1_1memory_1_1static__mem__pool.html">static_mem_pool</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">Generated on Sun Dec 11 2016 13:41:21 for QxOrm by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
